Dependence Testing: Extending Data Flow Testing with Control Dependence
نویسندگان
چکیده
This paper presents a new approach to structural testing, called dependence testing. First we propose dependence oriented coverage criteria that extend conventional data flow oriented coverage criteria with control dependence. This allows one to capture the full dependence information of a program or specification systematically. We then describe a model checking-based approach to test generation for dependence testing. It is shown that dependence oriented coverage criteria can be characterized in the temporal logics LTL and CTL. This enables one to use any LTL and CTL model checkers as test generators. Finally, we show that the temporal logic-based characterization can also be used for reducing the cost of dependence testing.
منابع مشابه
An Approach for Domain Reduction with Data Dependence in Mutation Testing
As a testing strategy to evaluate the completeness of test cases, mutation testing has been identified as a "faultoriented" technique for unit testing, which is mainly used to generate complete test cases. The path-oriented technique of test data generation is a highly efficient technique which implements test data generation by building and solving constraint systems. Most of path-oriented gen...
متن کاملAnalysis and Testing of Programs with Exception Handling Constructs
Analysis techniques, such as control flow, data flow, and control dependence, are used for a variety of software-engineering tasks, including structural and regression testing, dynamic execution profiling, static and dynamic slicing, and program understanding. To be applicable to programs in languages, such as Java and C++, these analysis techniques must account for the effects of exception occ...
متن کاملTerm Dependence Graphs 1
Program slicing is a method for decomposing programs by analyzing their data and control flow. It has many applications in the field of software engineering (like program debugging, testing, code reuse, maintenance, etc). The so called program dependence graph—a data structure that stores control and data dependences between the statements of imperative programs—is a key ingredient of many slic...
متن کاملData-flow and Control-flow Analysis of AspectJ Software for Program Slicing
We propose an approach for program slicing of AspectJ software, based on a novel data-flow and control-flow program representation. The representation is built at the source-code level and, unlike previous work, captures the semantic intricacies of various pointcut designators, multiple advices per joint point, dynamic advices, exceptions, and general flow of data to, from, and between advices....
متن کاملA Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance
A formal, general model of program dependences is presented and used to evaluate several dependence-based software testing, debugging, and maintenance techniques. Two generalizations of control and data flow dependence, called weak and strong syntactic dependence, are introduced and related to a concept called semantic dependence. Semantic dependence models the ability of a program statement to...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005